package 框架学习.WebSocket;

/**
 * WebSocket<p>
 * 详见项目<a href="">springboot-websocket-quick-start</a>
 */
public class index {
    /**
     * WebSocket 是基于 TCP 的一种新的网络协议<p>
     * 它实现了浏览器与服务器 <a href="">全双工通信</a> —— 浏览器和服务器只需要完成一次握手，两者之间就可以创建持久性的连接，并进行双向数据传输<p></p><p></p>
     * <p>
     * Http协议与WebSocket协议的区别：<p>
     * http协议是由客户端发出请求到服务端，再由服务端响应数据回到客户端的（这种交互方式通常称为请求-响应模式）<p>
     * 而当客户端发出请求之后，就会与服务器建立连接，当服务器把数据响应给客户端之后，这个连接就不存在了（这样的连接我们称为短连接）<p></p>
     * <p>
     * WebSocket协议中，客户端先向服务器发出请求（HandShake，握手），服务器再给客户端返回一个应答（Acknowledgement）<p>
     * 之后客户端和服务器就可以进行双向传输了<p>
     * 所谓双向传输，就是客户端可以主动给服务器发送数据，服务器也可以主动给客户端发送数据<p>
     * 这个过程就像<a href="">打电话</a>一样<p>
     * 而通过这种方式创建的连接称为长连接，或者说是持久性连接<p></p>
     * <p>
     * 综上：<p>
     * Http是短连接，Http通信是单向的<p>
     * WebSocket是长连接，WebSocket支持双向通信<p>
     * 而Http和WebSocket底层都是TCP连接<p></p><p></p>
     * <p>
     * WebSocket的应用场景：<p>
     * 1、视频弹幕<p>
     * 2、网页聊天<p>
     * 3、体育实况更新（页面不刷新，数据能实时更新）<p>
     * 4、股票基金报价实时更新<p></p><p></p>
     * <p>
     * WebSocket使用步骤：<p>
     * 1、提供WebSocket的客户端（浏览器页面）<p>
     * <p>
     * 2、导入WebSocket的maven坐标：<dependency>
     * <groupId>org.springframework.boot</groupId>
     * <artifactId>spring-boot-starter-websocket</artifactId>
     * </dependency><p>
     * <p>
     * 3、导入WebSocket服务端组件，用于和客户端通信（类似于springMVC中的Controller）<p>
     * <p>
     * 4、通过配置类，注册WebSocket的服务端组件，使其生效<p></p>
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
